package com.logos.musicframe.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.Date;
import java.io.Serializable;

/**
 * 歌曲信息主表(Songs)实体类
 *
 * @author rose
 * @since 2025-05-29 13:17:32
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class Songs implements Serializable {
    private static final long serialVersionUID = -17974418677941797L;
    /**
     * 歌曲唯一标识ID，自增长
     */
    private Integer id;
    /**
     * 歌名
     */
    private String title;
    /**
     * 作词
     */
    private String artistComposer;
    /**
     * 作曲
     */
    private String artistArranger;
    /**
     * 歌手/艺术家
     */
    private String artist;
    /**
     * 所属专辑
     */
    private String album;
    /**
     * 歌曲时长（单位：秒）
     */
    private Integer duration;
    /**
     * 音乐文件存储路径
     */
    private String filePath;
    /**
     * 记录创建时间
     */
    private Date createdAt;

    /**
     * 歌曲封面图片
     */
    private String picture;

    /**
     * 歌词文件存储路径
     */
    private String lrc;

    /**
     * 关键歌词
     */
    private String keyLrc;

    /**
     *
     * @param title
     * @param artist
     * @param album
     * @param time
     */
    public Songs(String title,String artist, String album, String time){
        this.title = title;
        this.artist = artist;
        this.album = album;
        String[] split = time.split(":");
        this.duration = Integer.parseInt(split[0]) * 60 + Integer.parseInt(split[1]);
    }

}

